<html>
  <head>
  <link rel="icon" 
      type="image/png" 
      href="../favicon.png">
  <title>fasttimesheet - user documentation</title>
  	<meta http-equiv="content-type" content=""text/htm; charset=UTF-8" >
	<link href="../doc.css" rel="stylesheet" type="text/css">
     
  </head>
  <body>
  <h1>FastTimesheet user documentation</h1>
  <h1>Contents</h1>
  <div id="contents">
  <h3>introduction</h3>
  <ul>
  <li><a href="#aboutprogram">about program</a></li>
  <li><a href="#license">license</a></li>
  </ul>
  <h3>User Interface</h3>
  <ul>
  <li><a href="#basicuserinterface">basic user interface - jobs</a></li>
  <li><a href="#addingjob">adding a job</a></li>
  <li><a href="#settingattendance">setting/editing attendance</a></li>
  <li><a href="#editingjobdetails">editing job details</a></li>
  <li><a href="#attendanceview">basic user interface - attendance</a></li>
  </ul>
  <h3>Administrator Interface - basic</h3>
  <ul>
  <li><a href="#admininterface">Admin interface</a></li>
  <li><a href="#createeditjobs">creating/editing jobs and subjobs</a></li>
  <li><a href="#checkuserattendance">checking user attendance</a></li>
  <li><a href="#createedituser">creating/editing users</a></li>
  </ul>
  <h3>Administrator Interface - statistics</h3>
  <ul>
  <li><a href="#statisticsinterface">Statistics interface</a></li>
  <li><a href="#accumulatedstatistics">accumulated statistics</a></li>
  <li><a href="#realstatistics">real statistics</a></li>
  <li><a href="#bothstatistics">both statistics</a></li>
  </ul>
  </div>
  
  
  
  
  
  
  
  
  <h1>introduction</h1>
  <h3 id="aboutprogram"> About Program </h3>
  <div id="text">
  <p>
  Program Fasttimesheet is designed as time tracking software for small and medium businesses. In small and medium businesses it is common for employee to participate in
  multiple different project for multiple clients in adittion of classic office duties. For small companies with smaller budgets it is also important to track project times
  more exactly to avoid even smaller miscalculations and loses. 
  </p>
  <p>
  Other main feature of this program is its real time data gathering and statistics, centralised job and user management and ease of access from anyplace with internet connection.
  Each user or admin change is automatically propagated to whole system and acessible for all users in ral time.
  </p>
  </div>
  <h3 id="license">License</h3>
  <div id="text">
  <p>
  Program is distributed under <a href="gpl-3_0.html">GNU-GPL V3</a> license.<br>
  Copyright (C) 2010  Marek Ovčáček.
  </p>
  </div>
  <h1>User interface</h1>
  <h3 id="basicuserinterface">Basic user interface - jobs</h3>
  <div id="text">
  <p>
  Basic user interface structure is described on image below:<br>
  <img src="../doc/UI_basic.jpg" alt="basic user interface"><br>
  </p>
  <b>1. Job selection menu</b>
  <p>In job selection menu, user can select from variety of jobs viewable by that user. Simple click on the desired job will mark that job as active in current job menu (6.) 
  </p>
  <b>2. User info</b>
  <p>Displays info about current logged user</p>
  <b>3. Log out button</b>
  <p>logs out user when clicked</p>
  <b>4.Date selection</b>
  <p>Date selection menu allows user to select or change a date. when clicked on date text, date selector will open. Text can be edited also.
  Next and previous buttons switch date to next/previous day</p>
  <b>5. Attendance menu</b>
  <p>in this menu, user can set and/or edit attendance. Attendance view button switches user interface to attendance view.
  </p>
  <b>6. Current job view</b>
  <p>Current job view displays name and tree path to currently selected job</p>
  <b>7. Job details menu</b>
  <p>from job details menu, udser can specify and/or change details about current job such as starting time, stopping time, duration and note.
  </p>
  <b>8. Completed job view</b>
  <p>Completed jobs for chosen day are displayed here</p>
  </div>
  <h3 id="addingjob">Adding a job</h3>
  <div id="text">
  <p>When user complete work on project, he should add thet work to completed jobs. For that, he needs
  to specify the job, starting time, ending time, duration and some details about what he done.
  </p>
  <p>There are two ways to select job. First is to select job from job selection menu on the left, second is 
  to use job search functionality from job details menu.
  <p>To specify start and stop time of the task, simply write the times to appropriate fields in job details menu. 
  After you finished with one field simply push "tab" key and other fields will change their values accordingly. For example, if you specify start time, then end time will change according to duration.
  </p>
  <p>
  After finished with job details, click add job button in job details menu and that job will appear in completed jobs view.
  </p>
  </div>
  <h3 id="settingattendance">Setting attendance</h3>
  <div id="text">
  <p>To set attendance for current day, please use attendance menu in basic user interface, or do so from <a href="#attendanceview">attendance view</a>.
  </p>
  <p> To set attendance for current day, simply click on "click to edit" text in attendance menu. Text field will appear on which you can specify time (hh:mm).
  You can also set attendance for current day by clicking on "compute from workload" text. In that case, attendance will be automatically set from duration of all completed jobs in that day.
  </p>
  <p>
  to edit attendance, simply click on attendance (text that indicate your attendance for the day). Text field will appear in which you can specify attendance. You can also click on compute attendance text again to recompute from completed jobs.
  </p>
  </div>
  <h3 id="editingjobdetails">Editing job details</h3>
  <div id="text">
  <p>
  Sometimes it is needed for user to edit details about job in completed jobs view. In that case, just click on field you want to edit (editable fields:
  from, to, note). Text field will appear in which you can specify your change.
  </p>
  <p>
  User can also delete completed job by clicking "delete" text.
  </p>
  </div>
  <h3 id="attendanceview">Basic user interface - attendance</h3>
  <div id="text">
  <p> When switched to attendance view from basic user interface, view automatically loads current month indicated by date set in the basic user interface. 
  Basic layout of attendance interface is described below:<br>
  <img src="../doc/UI_attendance.jpg" alt="attendance user interface">
  </p>
  <b>1. Year and month selection</b>
  <p>from here, user can select year and month to view in Month view described below.</p>
  <b>2. Tasks view switch</b>
  <p>Button for switching back to basic user interface</p>
  <b>3. Month view</b>
  <p>From month view, user can set, or edit attendance for speciffic day of the month as well as check total attendance set for that month. To add or edit attendance, simply click on "edit" text or attendance information in speciffic day cell. 
  Text field will appear in which you can specify attendance.
  You can set attendance by clicking on "compute from workload" text. In that case attendance is set from durations of all completed jobs for that day.
  </p>
  </div> 
  <h1>Administrator Interface - basic</h1>
  <h3 id="admininterface">Admin interface</h3>
  <div id="text">
  <p>
  Admin interface serves for creating/editing jobs (viewable by users), checking user attendance and user management. Note that if user doesn't have rights to see particular component of the page, it is not displayed.
  Description of administrator interface can be seen on picture below:<br>
  <img src="../doc/UI_admin.jpg">
  </p>
  <b>1. Jobs view</b>
  <p>
  From jobs view, administrator can add new subjobs, enable/disable,edit and move existing jobs and subjobs.
  </p>
  <b>2. User attendance view</b>
  <p>From user attendance view, administrator can check attendance of all users</p>
  <b>3. User management</b>
  <p>From user management, administrator can add new user or edit existing user information</p>
  </div>
  <h3 id="createeditjobs">Creating/editing jobs and subjobs</h3>
  <div id="text">
  <b> Creating new job</b>
  <p>To create new main job, simply type that jobs name to text field near button "create main job" and then click the button. This creates main job on highest level.</p>
  <p>To create subjob, simply click on text "create subjob" next to the job to which you want to create subjob. Text field will appear in which you can specify name of the subjob. After confirming (by pressing enter key), new job will be created.
  </p>
  <b> Edit job</b>
  <p>You can edit job name by simply clicking on that job. Text field will appear in which you can specify new name or edit current name.</p>
  <b>Enable/disable job</b>
  <p>In some cases, you want to disable job, so users wont see it anymore and cannot add tasks to it. To do it, simply click on text "disable" near desired job. Note that this will also disable all subjobs!</p>
  <b> Move job</b>
  <p> Please note, that this operation will move job including all its subjobs to another node/job.<br>
  To move job, click on the text "move" next to that job. Dialog with job selection will apear. Choose job to move to and click OK.</p>
  </div>
  <h3 id="checkuserattendance">Checking user attendance</h3>
  <div id="text">
  <p> To check attendance for all users, specify start time and stop time in user attendance view and then click "compute" button.</p>
  <p> Table with attendances for all users will be displayed. In table column "attendance from attendance" indicates time from attendance for that time period. 
  "Attendance from workload" column displays time acummulated from all durations of all jobs completed by speciffic user in speciffic time period.
  </p>
  <p>In case attendance and workload times differ, it is indicated in table by red color. When clicked, dialog will show all detected conflict by date.
  </p>
  </div>
  <h3 id="createedituser">Creating/editing users</h3>
  <div id="text">
  <b>creating new user</b>
  <p>To create new user, simply click on "Add user" button in User management menu ad fill in all fields in the form. </p>
  <b>user roles</b>
  <p>User roles specified when creating user indicate privilleges for users.<br>
  Admin role - Admin have full access in all systems to all functionality.
  Account role - Account have full access except user management
  User role - Users have access to basic user interface, attendance interface and can check attendance from admin interface.
  Part-time - Part time user have access to basic interface and attendance interface. In adittion 15 minutes task duration is forced.
  </p>
  <b>editing user</b>
  <p>to edit user details, simply click on the information in user management menu. Text field will appear in which you can specify the information. Clicking on enable/disable text disables speciffic user (user cannot log in). clicking on node field will bring up node view menu for speciffic user. From node view menu, you can specify all nodes viewable by speciffic user.
  </p>
  </div>
  <h1>Administrator Interface - statistics</h1>
  <h3 id="statisticsinterface">Statistics interface</h3>
  <div id=text">
  <p>
  Interface of statistics view is described on image below:<br>
  <img src="../doc/UI_statistic.jpg" alt="admin statistics intefrace">
  </p>
  <b>1. Statistics Jobs</b>
  <p>
 From this view you can select jobs (including subjobs) to be used in statistics computing.
 </p>
 <b>2. Statistics users</b>
 <p>From this menu you can select users to be used in statistics computing</p>
 <b>3. Statistics menu</b>
 <p>In this menu you can specify starting time for your statistical computation as well as type of view. You can alo choose to export results to excel.
 </p>
 <b>4. Statistics view</b>
 <p> In Statistics view, results of statistics are shown</p>
 </div> 
 <h3 id="accumulatedstatistics">Acummulated statistics</h3>
 <div id="text">
 <p>
 Basically, statistics shows time that is spent on speciffic task by speciffic user in speciffic time period. 
 In Accumulated statistics, every task displays time acummulated by all its sub tasks. That means time shown in the table dont nesessarilly means real time user spend on that particular jobs, it shows all time spend in its subjobs. 
 In total at the end of the table both acummulated and real time is shown.</p>
 <p>
 You can inspect tasks completed by user for particular job by clicking on cell displaying that information. Details dialog is brought up with user entries for speciffic day. 
 </p>
 </div>
 <h3 id="realstatistics">Real statistics</h3>
 <div id="text">
 <p>
 Basically, statistics shows time that is spent on speciffic task by speciffic user in speciffic time period. 
 In Real statistics, every task displays time spent specifically on that task. That means time shown in the table dont nesessarilly means real time user spend on all its subjobs. 
 In total at the end of the table both acummulated and real time is shown.</p>
 <p>
 You can inspect tasks completed by user for particular job by clicking on cell displaying that information. Details dialog is brought up with user entries for speciffic day. 
 </p>
 </div> 
<h3 id="bothstatistics">Both statistics</h3>
 <div id="text">
 <p>
 Basically, statistics shows time that is spent on speciffic task by speciffic user in speciffic time period. 
 In Both statistics, mixed statistics of both acummulated and real statistics are shown. 
 In total at the end of the table both acummulated and real time is shown.</p>
 <p>
 You can inspect tasks completed by user for particular job by clicking on cell displaying that information. Details dialog is brought up with user entries for speciffic day. 
 </p>
 </div>   
  </body>
  </thml>
